package com.mcxx.common;

import com.mcxx.modules.miniSalvation.fundpay.param.FundPayListSearchParam;

import java.util.HashMap;
import java.util.Map;


public enum ReportTargetEnum {

    CITY_LOWER("城市低保综合统计报表", setCityLowerMapping()),
    COUNTY_LOWER("农村低保综合统计报表", setCountyLowerMapping()),
    CITY_POVERTY("城市特困综合统计报表", setCityPovertyMapping()),
    COUNTY_POVERTY("农村特困综合统计报表", setCountyPovertyMapping()),
    TEMP("临时救助综合统计报表", setTempMapping());



    private String reportName;

    private Map<String, String> mapping;

    private FundPayListSearchParam rollParam;

    private ReportTargetEnum(String reportName, Map<String, String> mapping) {
        this.reportName = reportName;
        this.mapping = mapping;
    }



    private static Map<String, String> setCityLowerMapping() {
        Map<String, String> map = new HashMap<>();
        map.put("城市低保户数", "");
        map.put("城市低保人数", "");
        map.put("城市低保金", "");
        map.put("城市低保补发人数", "");
        map.put("城市低保补发金额", "");
        map.put("城市临时补贴指标", "");
        map.put("城市1-当月保障人数", "");
        map.put("城市当月支出", "");
        map.put("城市累计支出合计", "");
        return map;
    }

    private static Map<String, String> setCountyLowerMapping() {
        Map<String, String> map = new HashMap<>();
        map.put("农村低保户数", "");
        map.put("农村低保人数", "");
        map.put("农村低保金", "");
        map.put("农村低保补发人数", "");
        map.put("农村低保补发金额", "");
        map.put("村临时补贴指标", "");
        map.put("农村1-当月保障人数", "");
        map.put("农村当月支出", "");
        map.put("农村累计支出合计", "");
        return map;
    }


    private static Map<String, String> setCityPovertyMapping() {
        Map<String, String> map = new HashMap<>();
        map.put("城市特困1-本月累计保障人数", "");
        map.put("城市特困当月保障人数", "");
        map.put("城市特困当月集中供养人数", "");
        map.put("城市特困1-当月补贴累计支出", "");
        map.put("城市特困1-当月补发累计支出", "");
        map.put("城市特困1-当月丧葬费累计支出", "");
        return map;
    }

    private static Map<String, String> setCountyPovertyMapping() {
        Map<String, String> map = new HashMap<>();
        map.put("农村特困1-本月累计保障人数", "countyTimes");
        map.put("农村特困当月保障人数", "countyNewTimes");
        map.put("农村特困当月集中供养人数", "countyNewTimes");
        map.put("农村特困1-当月补贴累计支出", "countyFundPay,countySubsidy,countyRepamemt");
        map.put("农村特困1-当月补发累计支出", "");
        map.put("农村特困1-当月丧葬费累计支出", "");
        return map;
    }

    private static Map<String, String> setTempMapping() {
        Map<String, String> map = new HashMap<>();
        map.put("临时救助对象人数", "");
        map.put("当月低保对象人数", "");
        map.put("当月特困对象人数", "");
        map.put("支出型救助累计", "");
        map.put("急难型救助累计", "");
        map.put("救助累计", "");
        map.put("救助水平", "");
        return map;
    }

    public void setReportName(String reportName) {
        this.reportName = reportName;
    }

    public String getReportName() {
        return reportName;
    }

    public Map<String, String> getMapping() {
        return mapping;
    }

}
